#pragma once

#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<stdlib.h>

// 栈 ：动态数组 --> 后进先出

typedef int STDataType;
typedef struct Stack
{
	STDataType* a;
	int size;
	int capacity;
}ST;

// 初始化
void STInit(ST* ps);
// 销毁
void STDestroy(ST* ps);

// 入栈
void STPush(ST* ps, STDataType x);
// 出栈
void STPop(ST* ps);

// 获取栈顶元素
STDataType STTop(ST* ps);
int STSize(ST* ps);
bool STEmpty(ST* ps);